Transfer of data related to broadcast programming over a communication network

ABSTRACT

A broadcast programming receiver is provided which includes a broadcast programming interface, a memory, a communication network interface, and output circuitry. The broadcast programming interface is configured to receive broadcast programming, while the output circuitry is configured to transfer the broadcast programming to an output device. The memory is configured to store data related to the broadcast programming. In one embodiment, the communication network interface is configured to receive the data related to the broadcast programming over a communication network from a second broadcast programming receiver and transfer the data to the memory. In another implementation, the communication network interface is configured to receive the data from the memory and send the data over the communication network to a second broadcast programming receiver.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of copending U.S. patent application Ser. No. 12/328,082 entitled “TRANSFER OF DATA RELATED TO BROADCAST PROGRAMMING OVER A COMMUNICATION NETWORK” and filed 4 Dec. 2008, which claims the benefit of U.S. Provisional Application No. 61/015,081, entitled “TRANSFER OF DATA RELATED TO BROADCAST PROGRAMMING OVER A COMMUNICATION NETWORK” and filed 19 Dec. 2007, which are hereby incorporated herein by reference in their entirety.

BACKGROUND

The delivery of radio and television programming by way of terrestrial, satellite, or cable signals to an audio/video receiver or set-top box located in the typical home now provides users access to an unprecedented amount of entertainment, news, weather, and sports programming. Further, by employing multiple such receivers in a home or similar structure, access to this programming is enhanced by allowing use of the programming in any room which provides such a receiver in conjunction with an output device, such as a television or video monitor.

Typically, each deployed receiver or set-top box also receives a significant amount of data related to the broadcast programming. One example of this data is the event information associated with the electronic program guide (EPG), which typically is available to the user of the receiver by way of a special button provided on a remote control device accompanying the receiver. Normally, the EPG provides information relating to the individual programs available via the receiver, including, for example, the title of the program, a short synopsis of the content, the particular dates and times the program is to be broadcast, and similar information.

Other data related to the programming may be generated within each receiver. One typical example of such data is the recording settings associated with a data storage device, such as a digital video recorder (DVR), incorporated into the receiver for recording programs. These settings often include an identification of the program to be recorded, and the start time and length of the recording, for each program being recorded. The DVR may also allow the setting of various recording options, such as the recording of each episode of a television series, first-run episodes only, and other recording parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure may be better understood with reference to the following drawings. The components in the drawings are not necessarily depicted to scale, as emphasis is instead placed upon clear illustration of the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. Also, while several embodiments are described in connection with these drawings, the disclosure is not limited to the embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.

FIG. 1 is a block diagram of two broadcast programming receivers coupled by way of a communication network according to an embodiment of the invention.

FIG. 2 is a flow diagram of a method according to an embodiment of the invention for transferring data related to broadcast programming among broadcast programming receivers.

FIG. 3 is a block diagram of a broadcast programming receiver according to another embodiment of the invention.

FIG. 4 is a block diagram of a peer networked system of receivers according to an embodiment of the invention.

FIG. 5 is a block diagram of a client-server networked system of receivers according to an embodiment of the invention.

FIG. 6 is a block diagram of a networked system according to an embodiment of the invention in which a broadcast programming receiver is coupled with a non-receiver device.

DETAILED DESCRIPTION

The enclosed drawings and the following description depict specific embodiments of the invention to teach those skilled in the art how to make and use the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate variations of these embodiments that fall within the scope of the invention. Those skilled in the art will also appreciate that the features described below can be combined in various ways to form multiple embodiments of the invention. As a result, the invention is not limited to the specific embodiments described below, but only by the claims and their equivalents.

FIG. 1 provides a block diagram of a system 101 including two broadcast programming receivers 100, 120 coupled together by way of a communication network 140 according to an embodiment of the invention. The first broadcast programming receiver 100 includes a broadcast programming interface 102, a memory 104, a communication network interface 106, and output circuitry 108. The broadcast programming interface 102 is configured to receive broadcast programming, while the output circuitry 108 is configured to transfer the broadcast programming to an output device, such as the output device 160 shown in FIG. 1. The memory 104 is configured to store data related to the broadcast programming. In one embodiment, the data is received over the broadcast programming interface 102. The communication network interface 106 is configured to receive the data related to the broadcast programming from the memory 104, and to send the data over the communication network 140. In the specific example of FIG. 1, the transmitted data is received by the second broadcast programming receiver 120, discussed below. In FIG. 1, the memory 104 may also be coupled with the output circuitry 108 to enable transfer of the broadcast programming from the broadcast programming interface 102 to the output circuit 108.

Similarly, the second broadcast programming receiver 120 includes a broadcast programming interface 122, a memory 124, a communication network interface 126, and output circuitry 128. The broadcast programming interface 122 is configured to receive broadcast programming, while the output circuitry 128 is configured to transfer the broadcast programming to an output device, such as the output device 180 depicted in FIG. 1. The communication network interface 126 is configured to receive data related to the broadcast programming and transfer the data to the memory 124. In the specific example of FIG. 1, the data is received from the first broadcast programming receiver 100, described above. The memory 124 is configured to store the received data. In the embodiment of FIG. 1, the memory 124 may also be coupled with the broadcast programming interface 122 and the output circuitry 128 to facilitate transfer of the broadcast programming therebetween.

Each of the first receiver 100 and the second receiver 120 may also include control logic (not shown in FIG. 1) to initiate and coordinate the functions of the various components of the receivers 100, 120. A discussion of such control logic is provided in greater detail below.

A method 200 for transferring data related to broadcast programming among broadcast programming receivers is presented in the flow diagram of FIG. 2. In the method 200, a first broadcast programming receiver is coupled with a second broadcast programming receiver via a communication network (operation 202). Broadcast programming is received at both the first and second broadcast programming receivers (operation 204). Data related to the broadcast programming is stored in the first broadcast programming receiver (operation 206). A request for the data is generated in the second broadcast programming receiver (operation 208). The request for the data is then transferred from the second broadcast programming receiver to the first broadcast programming receiver over the communication network (operation 210). The request is processed in the first broadcast programming receiver (operation 212). In response to the request, the data related to the broadcast programming is transferred from the first broadcast programming receiver to the second broadcast programming receiver over the communication network (operation 214).

While the flow diagram of FIG. 2 indicates a particular order of execution of the operations 202-214 listed above, other orders of execution, including concurrent execution of various operations, may be possible while remaining within the scope of the invention. For example, the receiving of broadcast information at the first and second broadcast receivers may occur concurrently with the execution of any of the other operations of the method 200.

The block diagram of FIG. 3 provides a more detailed view of a broadcast programming receiver 300 according to another embodiment of the invention. Generally, the receiver 300 may either send or receive data related to broadcast programming over a communication network 340. In one embodiment, the data may be sent to or received from another broadcast programming receiver (not shown in FIG. 3). In another application, the data may be transferred between the receiver 300 and one or more other electronic devices, such as personal computers (PCs) or personal digital assistants (PDAs).

The broadcast programming receiver 300 may be any receiver configured to receive broadcast programming. Examples include, but are not limited to, a satellite television broadcast set-top box, such as a direct broadcast satellite (DBS) receiver, a cable television set-top box, a terrestrial (“over-the-air”) set-top box, and a satellite radio receiver. In the satellite television broadcast environment, the receiver 300 may be coupled with an output device 360, such as a television, video monitor, or audio amplifier, to allow a user to receive the broadcast programming in an audio or visual format. The connection between the receiver 300 and the output device 360 may be any kind of wired or wireless connection suitable for carrying the broadcast programming in a format understandable by the output device 360. Examples of such a connection include, but are not limited to, a composite video interface, a component video interface, a modulated radio frequency (RF) video interface, and the High Definition Multimedia Interface (HDMI).

The broadcast programming receiver 300 includes a broadcast programming interface 302, a memory 304, a communication network interface 306, output circuitry 308, a user interface 322, and control logic 310. The broadcast programming interface 302 includes circuitry which allows the receiver 300 to receive the broadcast programming from an external source, such as from a television broadcast satellite by way of a satellite antenna, a cable television head-end via a coaxial cable, or a terrestrial television distribution station by way of a terrestrial antenna. Such circuitry may perform a number of functions, such as frequency conversion of an incoming signal, tuning or selection of one or more programming channels or transponders from the incoming signal, and descrambling and/or decoding of one or more of the programming channels for presentation to the user.

The communication network interface 306 is configured to allow the broadcast programming receiver 300 to communicate with other devices, such as another broadcast programming receiver, over a communication network 340. The communication network 340 may be any communication network capable of transferring data to and from the broadcast programming receiver 300. In one embodiment, the communication network 340 may be a communication network implemented over the alternating current (AC) power lines of a home or other building, such as the network described in the HomePlug® 1.0 Specifications, published by the HomePlug® Powerline Alliance, and incorporated herein by reference in its entirety. Typically, a connection between the communication network interface 306 and such a network 340 is facilitated over the same power line cord employed by most electronic devices to receive AC power from a wall socket. Other types of communication networks, such as Ethernet, and other types of communication media, such as wireless, coaxial cable, 10/100 Base-T Category (CAT) 5 cable, and the like, may be utilized in other implementations.

The output circuitry 308 is configured to transfer the broadcast programming received over the broadcast programming interface 302 to the output device 360. The output circuitry 308 may include circuitry for signal formatting, frequency conversion, and the like in order to convert the programming into a form suitable for use by the output device 360.

The user interface 322 includes circuitry for receiving user commands and other user input. Such input may be relayed to the user interface 322 by way of a remote control device 350, by user controls on the receiver 300 itself, or both. The user interface 322 may receive wireless signals from the remote control device 350 that are infrared signals, ultra-high frequency (UHF) or other RF signals, or other types of wireless signals.

The control logic 310 operates to control one or more components of the broadcast programming receiver 300, such as any of the broadcast programming interface 302, the communication network interface 306, the user interface 322, and the output circuitry 308. The control logic 310 may include a processing unit, such as a microprocessor, microcontroller, or digital signal processor (DSP) executing software or firmware to perform the various control functions discussed herein. In another embodiment, digital hardware control circuitry, or a combination of hardware and software or firmware elements, may be employed as the control logic 310.

Coupled with the control logic 310 is memory 304, which may include any of read-only memory (ROM), random-access memory (RAM), and a mass data storage device, such as a magnetic or optical disk drive. Other forms of digital memory storage may be employed in other implementations. The memory 304 may serve a number of functions, such as storage for the instructions and data related to software or firmware executed by the control logic 310. The memory 304 may also provide sufficient storage for one or more programs received over the broadcast programming interface 302, thus facilitating digital video recorder (DVR) functionality in the receiver 300.

In addition, the memory 304 provides storage for data related to the broadcast programming received by way of the broadcast programming interface 302. As described in greater detail below, the data may be any data related to the broadcast programming, such as event information typically associated with an electronic program guide (EPG) 312. The data may also include recording settings 314, such as those set by a user to direct the broadcast programming receiver 304 to record one or more programs. In another implementation, the data may be one or more recorded programs 316 of the broadcast programming itself. Further, the data may include security information 318 identifying channels or programs to be blocked or disabled in the absence of a password or key, as well as status information 320 regarding the operation of one or more broadcast receivers, or any other portion of the broadcast communication system in which the receiver 300 is located. As a result, each of these types of data may be useful in the operation of other devices coupled to the receiver 300 or other unit initially possessing the data. Each of these data 312-320, as well as the effect of their transfer into or out of the receiver 300, is discussed in greater detail below.

Together with the control logic 310, the memory 304 may also provide a communication path to each of the broadcast programming interface 302, the communication network interface 306, and the output circuitry 308, as presented in FIG. 3. In other embodiments, such communication paths between these components may be provided separately from the memory 304 and the control logic 310.

Depending on the particular implementation, the broadcast programming receiver 300 may also include other circuits or components not shown in FIG. 3, such as multiple broadcast programming tuners. Many such circuits may be controlled by way of the control logic 310.

Depending on the particular operating environment, the broadcast programming receiver 300 may transmit any of data 312-320 stored within the memory 304 to a separate device, such as another receiver unit, over the communication network 340. In another case, the receiver 300 receives the data 312-320 from another device and stores the data in the memory 304. In yet another example, the receiver 300 may both send and receive the data 312-320 over the communication network 340.

The communication network 340, the receiver 300, and other devices coupled thereto may constitute a number of different networked systems tailored to meet the needs of a particular application. FIGS. 4-6 provide examples of such networked systems. In those examples, a single-bus type of architecture, such as what may be encountered in a HomePlug® network environment, is employed, but different network topologies, such as ring or star configurations, may be employed in other embodiments.

FIG. 4 provides an example of a “federated” or distributed network system 400 in which a number of receivers 300 act as peers to share the data 312-320 each possesses. In one implementation, each receiver 300 may request at least a portion of the data 312-320 that resides in one or more of the remaining receivers 300 of the system 400. The requesting receiver 300 may request the data specifically from each of the other receivers 300, or may generate a broadcast request, to which any of the other receivers 300 may respond. In some situations, the latest or most recent data 312-320 may be required. To that end, the data 312-320 may be marked with a date and time label or other indicator that may be compared with those of other versions of the data 312-320 stored in the various receivers 300 to determine which data set is the most current. A goal of such a system 400 may be to ensure that the same version of data 312-320, such as the EPG data 312, is available at each of the receivers 300.

In FIG. 5, a client-server network system 500 includes a single “server” receiver 300 a coupled with one or more “client” receivers 300 b by way of the communication network 340. In such an arrangement, the server receiver 300 a initially possesses most of the data 312-320, which may then be disseminated to the server receivers 300 a. In one embodiment, the server receiver 300 a may transmit the information to the client receivers 300 b whenever the server receiver 300 a acquires updated data 312-320. Alternately, the client receivers 300 b may specifically request one or more portions of the data 312-320 from the server receiver 300 a.

The configuration of system 500 may be selected over the peer architecture 400 of FIG. 4 for a number of reasons. For example, the server receiver 300 a may possess more capability in terms of processing or storage capacity than the client receivers 300 b, thus allowing the server receiver 300 a to collect and store more data 312-320. In another example, the server receiver 300 a may be coupled to the source of the broadcast programming by way of a separate communication connection 502, such as a phone line or Internet connection, not accessible by the client receivers 300 b. Thus, the server receiver 300 a may have initial access to at least some forms of the data 312-320 required by the client receivers 300 b.

FIG. 6 shows an example of another system 600 in which a broadcast programming receiver 300 is coupled by way of the communication network 340 to a non-receiver device 602. Examples of such a device 602 include, but are not limited to, a personal computer (PC) and a personal digital assistant (PDA). In one embodiment, a user may generate some portion of the data 312-320, such as the recording settings 314 for the receiver 300, and then transfer the settings 314 over the communication network 340 to the receiver 300. In this case, the device 602 may provide a more user-friendly interface to generate the settings 314 than the receiver 300, thus allowing the user to employ the device 602 for that purpose before transferring the settings 314 to the receiver 300. Other forms of data 312-320 may be generated in a similar manner. In other implementations, some types of the data 312-320, such as the event information 312, may be transferred from the receiver 300 to the non-receiver device 602 over the network 340. Further, more than one receiver 300 may be coupled with more than one non-receiver device 602 via the network 340.

As can be seen in the networked systems 400, 500, 600 of FIGS. 4-6, the data 312-320 is transferred between one receiver 300 or non-receiver device 602 and another. However, the data 312-320 may be received by the sending receiver 300 or device 602 from another source prior to the data being transferred within the system 400, 500, 600. In one example, the receiver 300 sending the data 312-320 may have initially received that data from another receiver 300 or non-receiver device 602 over the communication network 340. In another application, the receiver 300 sending the data 312-320 may have received the data from the source of the broadcast programming, either by way of the broadcast programming interface 302 or another connection, such as the communication connection 502 depicted in FIG. 5. According to another embodiment, the receiver 300 sending the data 312-320 may have generated the data internally, either in some automated fashion, or at the initiation of a user by way of the user interface 322 of the receiver 300.

As discussed above, the data 312-320 may be any data related to the broadcast programming received by the broadcast programming receiver 300. The variety of the types of data 312-320 possibly being transferred in a particular system facilitates a wide range of functions. For example, if the data is event information 312 associated with an EPG, all or a portion of the event information 312 may be transferred from one receiver 300 or non-receiver device 602 to another. In one example, one or more receivers 300 may not have received the latest event information 312 due to that receiver 300 being disabled at the time the latest event information 312 was last transmitted with the broadcast programming. By receiving the event information 312 from another receiver 300, the receiver 300 accepting the data will not have to wait until the next download of the event information 312 from the programming source.

Presuming the use of the system 500 in which at least one of the client receivers 300 b possesses less storage capacity for the event information 312 than the server receiver 300 a, the client receiver 300 b may request a portion of the event information 312 covering a shorter span of time than that covered by the entire event information 312 stored in the server receiver 300 a. Similarly, the client receiver 300 b may desire a particular portion of the event information 312 not currently stored in the memory 304 of the client receiver 300 b. In response, the client receiver 300 b may request the identified portion of the event information 312 from the server receiver 300 a for display to the user.

If, instead, the data to be transferred are recording settings 314, the data may be transferred about a networked system 400, 500, 600 in many ways depending on the particular goal to be accomplished. For example, a user may desire that none of the receivers 300 networked together record the same program twice in order to more efficiently utilize the collective storage capacity of the system. To accomplish this goal, the receivers 300 may be configured to swap recording settings 314 periodically to detect and eliminate duplicate recording settings. In another situation, the user may desire to record more programs at one particular time than the number of tuners available in one receiver 300. Instead of requiring the user to program another receiver 300 to record one of the programs, the user may program the original receiver 300, and in response, the original receiver 300 may transfer the recording settings for the additional program to another receiver 300 over the communication network 340 to distribute the recordings across multiple receivers 300. Many other implementations involving the transfer of recording settings across multiple receivers 300 are also possible. In another embodiment, a non-receiver device 602 (shown in FIG. 6) may be used as a platform for a user to program the recording settings and download the settings to one or more receivers 300 capable of recording the desired programs.

Depending on the bandwidth and usage of the communication network 340, the data to be transferred may include programs 316 that have been recorded on one receiver 300 for viewing via another connected receiver 300. Such a program 316 may be completely transferred from one receiver 300 to another before viewing begins, or only a certain portion of the program 316 may be required to be transferred and buffered to the destination receiver 300 before display to the user. Such a networked system thus provides mobility of a program recorded on any of the networked receivers 300 to any other of the receivers 300.

As mentioned above, the data may be security or “blocking” information 318, such as information related to preventing access to specific channels or programs by children or other users not privy to an access code or key. At times, such information may be rather arduous to input into multiple receivers 300 of a home. To facilitate protecting all connected receivers 300 in such a fashion, this security information 318 may be programmed into a single receiver 300. The programmed receiver 300 may then transfer that data to all other connected receivers 300 over the communication network 340 to set the identical security status for each receiver 300, thus eliminating the time and effort normally required for the user to manually program the security features of each receiver 300.

In another embodiment, the data may include status information 320 regarding the operational status or “health” of one or more components of the broadcast system, such as specific programming channels, broadcast satellites, individual transponders within a particular satellite, or the like. Such information may be generated within each of the networked receivers 300, transferred among the receivers 300, and collectively compared to determine the actual operational status 320 as detected by each receiver 300 to help determine the cause of the problem. For example, if all receivers 300 of a particular networked system determine that a specific transponder of one satellite is inoperative, the determination is likely correct. Oppositely, if only one of the receivers 300 detects an inoperative transponder, the problem most likely lies within the receiver 300 sensing the problem. The results of the comparison could then be relayed to the user, the broadcast communication system, or both. In one implementation, each of the networked receivers 300 may transfer their status information 320 to a predetermined receiver 300, such as the server receiver 300 a in the client-server networked system 500 of FIG. 5, which may then compare each copy of the status information 320 received from the client receivers 300 b to determine the underlying cause of the detected problem.

Based on the limited examples illustrated above, transferring data associated with broadcast programming among a group of broadcast programming receivers networked may provide any of several advantages. Generally, such networked receivers may be configured to operate as a single, large receiver unit by virtue of the passing of the data between the receivers. This distribution of data allows, for example, a user to program recording settings in one receiver, and to allow those settings to propagate to other receivers of the system. Also, if recorded programs may be transferred from one receiver to another, the collective DVR storage of the receivers may be operated as a signal extensive DVR with a capacity essentially equal to the sum of the program storage capacities of all of the receivers. Use of a networked system may also facilitate the employment of a single, high-performance “server” receiver networked with other, less-capable “client” receivers to form a highly-capable networked system at a reduced cost. Further, presuming some of the data may be introduced into the system by way of an alternative interface, such as a phone or Internet connection, only a single such connection to a receiver may be necessary as long as that data may be relayed to other receivers over the communication network coupling the receivers together. Further, use of a standardized communication network may allow the data to be supplied by a non-receiver device, such as a PC, thus allowing a user to define recording settings and other data using the capabilities of the device before transmitting the data to one or more receivers.

While several embodiments of the invention have been discussed herein, other embodiments encompassed by the scope of the invention are possible. For example, while various embodiments have been described herein primarily within the context of satellite television broadcast programming, receivers devised primarily for reception of satellite radio signals, cable television and radio signals, terrestrial television and radio signals, and other forms of broadcast programming may be utilized in other embodiments. Also, while particular forms of data associated with broadcast programming, such as event information and recording settings, have been discussed, other forms of such data not specifically discussed herein may be involved in other implementations. In addition, aspects of one embodiment may be combined with those of alternative embodiments to create further implementations of the present invention. Thus, while the present invention has been described in the context of specific embodiments, such descriptions are provided for illustration and not limitation. Accordingly, the proper scope of the present invention is delimited only by the following claims and their equivalents. 

What is claimed is:
 1. A broadcast programming receiver, comprising: a broadcast programming interface that receives broadcast programming; a memory that stores data related to the broadcast programming; a communication network interface that receives the data related to the broadcast programming over a communication network from a second broadcast programming receiver and transfer the data to the memory; and output circuitry that transfers the broadcast programming to an output device. 